<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>任务分解</title>
</head>
<body>
    <script>

        //一个比较耗时的任务可能造成浏览器卡死,所以可以将任务分解成一个一个
        //小的异步小任务,下面是一个数字统计的函数,会发现运行的时间会非常的长
        // console.time("runtime");
        // function hd(num){
        //     let count = 0;
        //     for(let i = 0 ; i<= num;i++){
        //         count += i;
        //     }
        //     console.log(count);
        //     console.timeEnd("runtime");
        // }
        // let num = 9876543211;
        // hd(num);
        // console.log("houdunren.com");

        //现在把任务分解成小块任务队列，浏览器就不会出现卡死的现象了
        //也不会影响后续代码的执行
        console.time("runtime");
        let count = 0;
        let num = 98765111;
        function hd() {
            for (let i = 0; i < 10000000; i++) {
                if (num <= 0) break;
                count += num--;
            }
            if (num > 0) {
                console.log(num);
                setTimeout(hd);
            } else {
                console.log(num);
                console.log(count);
            }
        }
        hd();
        console.log("houdunren.com"); //立刻显示出来

    </script>
</body>
</html>